/******************************************************************************
COPYRIGHT (C) 2013 by IT-Designers GmbH

File:		Measure.h
Created:	28.02.2013
Modified:	28.02.2013
Author:		Max Pejs
******************************************************************************/

#ifndef MEASURE_H
#define MEASURE_H

#include "Timer.h"
#include "opencv2/highgui/highgui.hpp"

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>

using namespace cv;
using namespace std;

class Measure
{
private:
	static Measure * owner;
	Timer * UpdateTimer;
	vector<Timer*> timerVector;
	CRITICAL_SECTION Section;
	Measure();

public:
	
	virtual ~Measure();

	Timer* CreateNewTimer(string id);
	void PlotMeasure(int updateTimeMs = 100 /* ms */);

	static Measure* GetInstance();
};

#endif	// MEASURE_H
